package com.zhongwang.mms.module.basic.dao;


import com.zhongwang.mms.module.basic.model.Org;
import com.zhongwang.mms.module.basic.model.Verify;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Description:
 *
 * @Author: China.sgl
 * @Date: 2020/7/30 16:47
 */
public interface OrgMapper {
    /**
     * 按 部门名称 查询部门
     *
     * @param name 部门名称
     * @return 部门
     */
    Org findByName(String name);

    /**
     * 按条件查询部门
     *
     * @param org 部门条件
     * @return List
     */
    List<Org> findByCondition(Org org);

    /**
     * 按 id 修改状态
     *
     * @param id id
     * @param status 状态
     * @return 影响行数
     */
    int updateStatusByIdWithRecursion(@Param("id") Integer id, @Param("status") int status);

    /**
     * 按 用户 ID查询
     *
     * @param id 用户ID
     * @return Org
     */
    Org findByUserId(Integer id);

    /** 查询管理部门数量 */
    Integer countOrgByUserId(Integer userId);

    /**
     * 保存
     * @param org
     * @return
     */
    Org save(Org org);

    /**
     * 更新
     * @param org
     * @return
     */
    int update(Org org);

    /**
     * 根据ID获取架构
     * @param id
     * @return
     */
    Org getOrgById(Integer id);
}
